<!DOCTYPE html>
<html lang="en">
<head xmlns:th="http://www.thymeleaf.org">
  <meta charset="UTF-8">
  <title>Title</title>
  <link rel="stylesheet" href="/css/bootstrap.min.css">
  <script src="/js/jquery-3.6.1.min.js"></script>
  <style type="text/css">
    /*不同颜色的条纹表格*/
    /*odd 表示奇数行*/
    table.table-striped tr:nth-child(odd) td{
      background: lightblue;
    }
    /*even 表示偶数行*/
    table.table-striped tr:nth-child(even) td{
      background: lightpink;
    }
    .page-list{
      display: inline-block !important;
    }
    /*鼠标悬停，表格变颜色*/
    /*table.table-hover tr:hover{*/
    /*    background: yellowgreen;*/
    /*}*/
    /*#bt1{*/
    /*    position: absolute;*/
    /*    left: 56.5%;*/
    /*    top: 30.8%;*/
    /*}*/
  </style>
  <link rel="stylesheet" href="/plugins/bootstraptable/bootstrap-table.min.css">


</head>
<body>
<div class="container-fluid" style="border: red solid 1px">
  <!--<div class="container-fluid">-->
  <p align="center" style="font-size: 30px">教师表</p>
  <!-- Button trigger modal -->
  <form class="form-inline">
    <div class="form-group">
      <label for="searchName">请输入姓名：</label>
      <input type="text" class="form-control" id="searchName" placeholder="请输入名称" name="searchName">
      <label for="searchNo">请输入职工号：</label>
      <input type="text" class="form-control" id="searchNo" placeholder="请输入职工号" name="searchNo">
    </div>
    <button type="button" class="btn btn-info" onclick="search();">查找</button>
    <button id="addStudent" type="button" class="btn btn-info" data-toggle="modal" data-target="#myModal" onclick="preAdd()">
      新增教师
    </button>
  </form>

  <br>
  <br>

  <!--    table-bordered:给表格加外边框-->
  <!--    table-hover:鼠标悬停时，对应的行变色-->
  <!--    table-striped:条纹状表格-->
  <!--        table-condensed:紧缩表格-->
  <table class="table table-bordered table-striped" id="stuTable" >

  </table>
</div>

<div class="modal fade" tabindex="-1" role="dialog" id="myModal">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title">教师信息</h4>
      </div>
      <div class="modal-body">
        <form id="formStudent">
          <input hidden="hidden" id="id" name="id" />
          <div class="form-group">
            <label for="no">教师编号</label>
            <input type="text" class="form-control" id="no" name="no" placeholder="教师编号">
          </div>
          <div class="form-group">
            <label for="name">姓名</label>
            <input type="text" class="form-control" id="name" name="name" placeholder="姓名">
          </div>
          <div class="form-group">
            <label for="password">密码</label>
            <input type="password" class="form-control" id="password" name="password" placeholder="密码">
          </div>
          <div class="form-group">
            <label for="sex">性别</label>
            <select class="form-control" id="sex" name="sex">
              <option value="1">男</option>
              <option value="2">女</option>

            </select>
          </div>
          <div class="form-group">
            <label for="age">年龄</label>
            <input type="text" class="form-control" id="age" name="age" placeholder="年龄">
          </div>
        </form>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" onclick="saveStudent()">保存</button>

      </div>
    </div><!-- /.modal-content -->
  </div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<br>
<br>
<br>

<!--<form class="form-inline" role="form" align="center">-->
<!--    <div class="form-group">-->
<!--        &lt;!&ndash;        文本域通过 <input type="text"> 标签来设定，当用户要在表单中键入字母、数字等内容时，就会用到文本域。&ndash;&gt;-->
<!--        <input type="text" class="form-control" id="nameorno"-->
<!--               placeholder="请输入姓名或者学号">-->
<!--        <input type="button" onclick="sel()" value="查询" />-->
<!--        <input type="button" onclick="goback()" value="返回" />-->
<!--    </div>-->
<!--    &lt;!&ndash;    <button onclick="sel()" class="btn btn-default" id="bt1">查询</button>&ndash;&gt;-->

<!--</form>-->

<br>
<br>
<br>
<!--<pre><p id="p1"align="center"></p></pre>-->

<script src="/js/bootstrap.min.js"></script>
<script src="/plugins/bootstraptable/bootstrap-table.min.js"></script>

<script src="/plugins/bootstraptable/locale/bootstrap-table-zh-CN.min.js"></script>



<script type="text/javascript">

  // 进入页面自动获取一次角色
  getRole();
  permissionAdjustment();


  //创建一个页面全局，保存角色值
  var role;

  // 获取角色值函数
  function getRole(){
    // 保存角色值
    role = window.localStorage['role'];
  }


  // 根据角色调整按钮级权限,permissionAdjustment:权限调整
  function permissionAdjustment(){

    // 如果角色为student，则禁用新增、编辑、删除按钮
    if(role == 'student'){
      // 禁用新增按钮，由于编辑和删除按钮是动态渲染的，所以要在渲染函数进行判断或禁用
      document.getElementById("addStudent").disabled=true;
    }
  }

  function search() {

    // bootstrap table destroy注销销毁表格的方法，销毁后如果要继续使用就需要重新初始化bootstrap table。
    $('#stuTable').bootstrapTable("destroy");

    loadTable();
  }
  // function operation(value,row,index){
  //
  //     console.log("value row index")
  //
  //     return "<button class=\"btn btn-info btn-sm\" onclick='editStudent("+value+");'>编辑 </button>" +
  //         "<button class=\"btn btn-info btn-sm\" onclick='deleteStudent("+value+");'>删除 </button> "
  //
  //
  // }

  function preAdd(){
    $("#id").val(0);//提示新增
  }
  //新增或者更新
  function saveStudent(){

    // ajax获取form表单所有值,serialize() 函数用于序列化对象或数组，并返回一个字符串。可以一次性获取到表单中的所有的数据。
    // 注意：在使用 serialize() 函数快速获取表单数据时， 必须为每个表单元素添加 name 属性 ！
    let data=$("#formStudent").serialize();
    let id=$("#id").val();
    if(id<1){
      //是新增
      $.ajax({
        url:"/webapi/teacher/insert",
        method:"post",
        data:data
      }).done(function(){

        loadTable();
        // 把modal隐藏
        $('#myModal').modal('hide')
      })
    }
    else{
      //是更新
      $.ajax({
        url:"/webapi/teacher/update",
        method:"put",
        data:data
      }).done(function(){

        loadTable();
        $('#myModal').modal('hide')
      })
    }
    $('#stuTable').bootstrapTable("destroy");

  }

  function editStudent(id){

    $("#myModal").modal('show');

    $.ajax({

      url:"/webapi/teacher/get/"+id

    }).done(function(rs){

      $("#id").val(rs.id);
      $("#no").val(rs.no);
      $("#name").val(rs.name);
      $("#password").val("");
      $("#sex").val(rs.sex);
      $("#age").val(rs.age);
    })
  }

  function deleteStudent(id){
    if(confirm("你是否真的要删除吗？别后悔哦！")){

      $.ajax({

        url:"/webapi/teacher/delete/"+id,
        method:"delete"

      }).done(function(){
        $('#stuTable').bootstrapTable("destroy");
        loadTable();

      });
    }

  }//end if


  function loadTable(){
    $('#stuTable').bootstrapTable({
      url: '/webapi/teacher/getbypage',
      striped:true,//设置为true会有隔行变色效果
      pagination:true,//设置为true会在底部显示分页条
      singleSelect: false,//设置为true将禁止多选
      pageSize:3,// 如果设置了分页 每页三行
      pageNumber:1,//如果设置了分页 首页页码
      sidePagination: "server",//设置在哪里进行分页，可选值为“client‘或者
      //得到查询的参数
      queryParams:function(params){
        let para0bj = {
          size: params.limit, //页面大小//默认是10
          page:params.offset/params.limit,//页码
          sort:"id",
          direct:"desc",
          name:$("#searchName").val(),
          no:$("#searchNo").val()
        };
        return para0bj;
      },

      columns: [{
        field: 'no',
        title: '教师编号'
      }, {
        field: 'name',
        title: '姓名'
      }, {
        field: 'sex',
        title: '性别',
        //获取性别列的值进行转换
        formatter:  function (data,row,index){
          if(data==1)
            return "男";
          else if(data==2)
            return "女";
          else
            return "未知";
        }
      },{
        field: 'id',
        title: '操作',
        width:"130px",
        // formatter:operation
        formatter:  function (value,row,index){

          console.log("value row index")
          console.log("role2",role);
          // 渲染操作按钮之前，判断角色，是否禁用按钮
          if(role == 'student'){
            return "<button class=\"btn btn-info btn-sm\" onclick='editStudent("+value+");' disabled='disabled'>编辑" +
                    "</button><button class=\"btn btn-info btn-sm\" onclick='deleteStudent("+value+");' disabled='disabled'>删除 </button> "
          }else {
            return "<button class=\"btn btn-info btn-sm\" onclick='editStudent("+value+");'>编辑" +
                    "</button><button class=\"btn btn-info btn-sm\" onclick='deleteStudent("+value+");'>删除 </button> "
          }
        }
      },]
    })


  }
  $(function() {

    loadTable();
  });

</script>


<!--<script th:inline="javascript">-->
<!--    let student=[[${data}]];-->
<!--    let len=student.length;-->
<!--    function sel(){-->
<!--        // Document 的方法 getElementById () 返回一个匹配特定 ID 的元素-->
<!--        let p1 = document.getElementById("p1");-->
<!--        // Document 的方法 getElementById ().value 返回一个匹配特定 ID 的元素的值-->
<!--        let dd=document.getElementById("nameorno").value;-->
<!--        let dx="";-->
<!--        let html = "";-->
<!--        for(let i=0;i<len;i++)-->
<!--        {-->

<!--            if(student[i].name==dd||student[i].no==dd) {-->
<!--                let dsex = student[i].sex;-->
<!--                // 判断性别，将数字转为文字-->
<!--                if (dsex == 1) {-->
<!--                    dsex = "男";-->
<!--                } else if (dsex == 2) {-->
<!--                    dsex = "女";-->
<!--                } else {-->
<!--                    dsex = "未知";-->
<!--                }-->
<!--                dx += "学号: " + student[i].no + "  " + "姓名: " + student[i].name + "  " + "性别: " + dsex + "  " + "年龄: " + student[i].age + "分数:" + student[i].score+"\n\n";-->
<!--                p1.innerHTML=dx;-->

<!--                // 修改对象 p1的值-->

<!--                // break;-->
<!--                //-->

<!--                html += "<tr>"-->
<!--                    + "<td>" +student[i].id + "</td>"-->
<!--                    + "<td>" + student[i].no + "</td>"-->
<!--                    + "<td>" +student[i].name + "</td>"-->
<!--                    + "<td>" + student[i].password + "</td>"-->
<!--                    + "<td>" +dsex + "</td>"-->
<!--                    + "<td>" + student[i].age + "</td>"-->
<!--                    + "<td>" + student[i].score + "</td>"-->
<!--                    + "<td> <a href='#' onclick='editStudent("+student[i].id+");'>编辑</a>  <a href='#' onclick='deleteStudent("+student[i].id+");'>删除</a></td>"-->

<!--                    + "</tr>";-->

<!--                $("#studentTb").html(html);-->
<!--            }-->
<!--            else if(dd==""){-->
<!--                dx="查无此人"-->
<!--                p1.innerHTML=dx;-->
<!--            }-->

<!--        }-->


<!--    }-->
<!--    function goback(){-->
<!--        loadTable();-->
<!--    }-->

<!--</script>-->
</body>
</html>